package controller;

import java.util.ArrayList;
import java.util.List;

import util.Banquinho;

import entites.Cliente;
import entites.Produto;
import entites.Venda;

public class CrudVenda {
	public static List<Venda> getVendas() {
		return Banquinho.getInstance().getVendas();
	}

	private static int getMaxCdVenda() {
		int max = 0;
		for (Venda i : getVendas()) {
			if (i.getCdvenda() > max) {
				max = i.getCdvenda();
			}
		}
		return max;
	}

	public static boolean save(List<Venda> e) {
		if (e.size() < 1) {
			return false;
		}
		int max = getMaxCdVenda() + 1;
		int seq = 1;

		Cliente cli = null;
		Produto prod = null;
		for (Venda i : e) {
			cli = CrudCliente.search(i.getMatricula());

			cli.setSaldo(cli.getSaldo() - i.getSubTotal());
			i.setCdvenda(max);
			i.setNrsequencia(seq++);
			getVendas().add(i);
			CrudProdutos.update(prod);
			CrudCliente.update(cli);
		}
		return true;
	}

	public static List<Venda> search(int cdvenda) {
		List<Venda> result = null;
		for (Venda i : getVendas()) {
			if (i.getCdvenda() == cdvenda) {
				if (result == null) {
					result = new ArrayList<Venda>();
				}
				result.add(i);
			}
		}
		return result;
	}

}
